In recent times, data centers are becoming bigger and bigger in its physical size. A typical enterprise data center could contain hundreds to thousands of hardware devices, including servers, network devices, storage arrays, etc. Furthermore, these hardware devices may be provided by different vendors. However, different kinds of hardware devices and different vendors of hardware devices bring in a high degree of complexity and inefficiency especially in configuring and provisioning the data center.
For example, provisioning or configuration of the data center may involve a stack from software to hardware and from virtual machine (VM) to Storage. FIG. 1 illustrates a schematic diagram of a typical application stack, and multiple hardware devices or software programs, including Storage, Physical Network, NIC, Server, CPU, Mem, Disk, Virtual Switch, VM, Operating Systems (OS), and Application. Since provisioning or configuring the application stack in a virtual environment requires highly professionalized skills, it will typically involve different IT roles, like a server administrator, a network administrator and a storage administrator, and each of these will only be responsible for one specialized hardware or software.
Infrastructure as a Service (IaaS) system, like OpenStack, is targeted to resolve the complexity and inefficiency while managing the underlying infrastructure by providing a centralized management interface. However, it only provides the basic capabilities and puts them in one perspective, but can't provide an efficient and secure way to provision or configure a stack of resource. For example, when integrating a storage product into an IaaS environment and making it ready to use, a number of preparation steps need to be performed. When provisioning block storage from EMC® VNX in OpenStack, the typical steps are:                1. Storage admin sets-up VNX and physically connects VNX to OpenStack.        2. Storage admin sets-up a solution enabler and adds VNX to the solution enabler.        3. System admin needs to install Pywbem, which is a python library used by EMC® iSCSI driver on OpenStack block storage nodes.        4. System admin needs to configure Cinder driver to connect to the VNX.        5. VM admin needs to install open iSCSI library on VM.        6. Storage admin needs to register host and iSCSI initiator through VNX Unisphere.        7. Storage Admin creates a volume and attaches it to the VM.        8. VM admin needs to discover the exposed VNX iSCSI target and perform login.        9. VM user could use the new attached disks.        Since these kinds of provisioning and configuration processes contain a number of steps and involve different IT roles, it becomes quite inefficient and error-prone, and for example may bring security leak during the entire process of provisioning and configuring.        